"use strict";
/**!
 * Copyright (c) [2021] [Tenny]
   [pino-smart] is licensed under Mulan PSL v2.
   You can use this software according to the terms and conditions of the Mulan PSL v2. 
   You may obtain a copy of Mulan PSL v2 at:
            http://license.coscl.org.cn/MulanPSL2 
   THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.  
   See the Mulan PSL v2 for more details.
 */
const stream_1 = require("stream");
const PinoSmart = require("./index");
class SmartTransform extends stream_1.Transform {
    constructor(options) {
        super(options);
        this.setDefaultEncoding('utf8');
        this.pretty = PinoSmart();
    }
    _transform(data, encoding, callback) {
        this.push(this.pretty(encoding === 'buffer' ? data.toString('utf8') : data));
        callback();
    }
}
module.exports = SmartTransform;
